package com.dyy.AI_System.service;

import com.dyy.AI_System.domain.dto.LoginRequest;
import com.dyy.AI_System.domain.po.Users;
import com.dyy.AI_System.domain.vo.LoginResponse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;


import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author dyy
 * @since 2025-10-13
 */
public interface IUsersService extends IService<Users> {
    
    /**
     * 根据用户名查询用户
     */
    Users getByUsername(String username);
    
    /**
     * 分页查询用户
     */
    IPage<Users> pageQuery(Integer pageNum, Integer pageSize, String keyword);
    
    /**
     * 根据部门ID查询用户
     */
    List<Users> getByDepartmentId(Long departmentId);
    
    /**
     * 更新用户状态
     */
    boolean updateStatus(Long id, Boolean isActive);
    
    /**
     * 用户登录
     */
    LoginResponse login(LoginRequest loginRequest);
    
    /**
     * 验证密码
     */
    boolean verifyPassword(String rawPassword, String encodedPassword);
    
    /**
     * 加密密码
     */
    String encodePassword(String password);
}
